<?php
declare (strict_types = 1);

namespace app\api\model;

use think\Model;

/**
 * Role 模型
 * 对应数据表：sys_role
 */
class Role extends Model
{
    // 设置数据表名（不含前缀）
    protected $name = 'sys_role';
    
    // 设置主键
    protected $pk = 'id';
    
    // 关闭自动时间戳（该表没有时间戳字段）
    protected $autoWriteTimestamp = false;
    
    // 字段类型转换
    protected $type = [
        'id' => 'integer',
    ];
    
    /**
     * 获取角色的菜单权限ID列表
     * @return array
     */
    public function getMenuIds(): array
    {
        if (empty($this->role_list)) {
            return [];
        }
        
        $ids = explode(',', $this->role_list);
        return array_map('intval', array_filter($ids));
    }
    
    /**
     * 获取角色的按钮权限ID列表
     * @return array
     */
    public function getButtonIds(): array
    {
        if (empty($this->class_list)) {
            return [];
        }
        
        $ids = explode(',', $this->class_list);
        return array_map('intval', array_filter($ids));
    }
}
